競プロ典型 90 問 001
(工事中)
解き方
解答例
下は上記の方法で解いたときの提出結果である。また、その提出の際に提出したソースコードをその下に転記する。
code: C
int isGTE(int s, int l, int n, int *a, int k) {
int count = 0;
int tmp = 0;
for (int i = 1; i <= n; i++) {
if (tmp >= s) {
count++;
tmp = 0;
}
}
if (count < k) {
return 0;
}
if (count > k) {
return 1;
}
return 0;
}
return 1;
}
int main () {
int n = 0;
int l = 0;
int k = 0;
int res = 0;
int ans = 0;
res = scanf("%d", &n);
res = scanf("%d", &l);
res = scanf("%d", &k);
for (int i = 1; i <= n; i++) {
res = scanf("%d", a+i);
}
while(prev1 - prev0 > 1) { int s = (prev0 + prev1) / 2; if(isGTE(s, l, n, a, k) > 0) {
} else {
}
}
if (isGTE(prev1, l, n, a, k) > 0) { } else {
}
printf("%d\n",ans);
return 0;
}
私の提出一覧
table: submissions_atcoder_typical90_001
提出のURL 提出時刻 結果 備考
感想
ローカルにおいてあったzakkan.txt(雑感)に書かれていたこと
001 - Yokan Party(★4)
日時: 2021-05-02 17:44:10
解説同様に二分探索でスコアの最大値を算出した。
「判定問題に変換して二分探索するという方法を知ったので、
今度また同じ方針が使える問題に出会ったら気をつけよう
と思っていたのに、この方針に至らずに悔しい思いをしたこと」が
以前にあり、さらに心に深く刻み込まれることになったため
今回はそこまで悩まずに解けたと思われる